Recently, an anonymous individual told me that their company was planning to migrate to AWS and they were looking for someone to help with the project management side. This anonymous person was hoping to be that project manager.
There was one caveat: The right individual would be “familiar with AWS.” The inquiring mind was not, so they asked me what they needed to learn.
First, it’s important to understand that AWS is not a distinct product. It’s well over 200 products.
Nobody—including AWS employees—is deeply familiar with all of them. Nobody.
That said, from a project management perspective, it’s important to be familiar with what we’ll call the Big Services and a few other odds and ends. You can learn everything else that’s not on this list as it comes up—the same way the rest of us do.
Let’s jump in.
1. EC2
Amazon Elastic Compute Cloud (Amazon EC2) are virtual machines (called instances) that can run any software you care to shove in them.
This is the baseline service that virtually everyone who uses AWS uses as their primary workhorse. The engineering is deep, but it shouldn’t matter to you.
In my consulting work, EC2 is responsible for the majority of the entire AWS global spend. Think about that for a second. A single entry from a 200-strong services list is over 50% of where the money goes. That’s mind-boggling!
2. S3
Amazon Simple Storage Service (Amazon S3) is what’s known as object storage. “Put a file or files into S3, it keeps them for you. Retrieve them at any time.”
S3 can store more data than you will ever be able to afford. There are no capacity limits here, and pricing is linear. Note that security is going to matter here, but don’t let the “user data leaks from S3 bucket” headlines fool you. Those come from misconfigurations by end-customers. Security is going to be important to get right here, but the service is most assuredly NOT insecure. (If you’re interested, it stems from the alternate use of S3 as a static web server in which files are supposed to be public.)
3. RDS
Amazon Relational Database Service (Amazon RDS) is a managed database offering that lets you choose from these databases: Amazon Aurora (their custom thing with PostgreSQL and MySQL compatibility), PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.
AWS runs the database for you so you don’t have to handle a lot of the administrative bits. Some folks migrate to EC2 to run their databases manually when they need more control; the legitimacy of this approach is hotly debated.
4. Lambda
Part of the serverless revolution, AWS Lambda is the New Hotness.
You write code and AWS executes it for you when certain conditions are met—like the passage of time, when a file shows up, when a user clicks a button, and so on. You can consider this to be most commonly used to “glue” other AWS services together.
5. AWS Regions
All of the above and more live in what are called AWS Regions. These are vast collections of many data centers scattered across the world. They are referred to both by their region (say, Northern Virginia) as well as by their AWS designation (the Northern Virginia region is called us-east-1).
6. Availability Zones
Inside each region there are multiple Availability Zones or AZs, which are data centers located a few miles apart from each other. These are great for local disaster planning, but an issue that affects an entire AWS region will take down multiple AZs.
7. Data Transfer
Data transfer tends to be a big bill item. But the nuances of that spend item are vast and deep. In general transfer from the internet to AWS is free, and transfer out of AWS costs money.
From a project perspective, we’ll dig into the specifics is fine. Essentially, anything can send data anywhere you’d like is the capability story here.
8. Billing
As for billing, it’s generally you pay for what you use. If you use more resources, you pay more. If you don’t turn something off, nothing will do it for you. There has to be a “close the loop” or “garbage collection” process that goes back and turns off the stuff you’re done with.
The golden model of the cloud is that you increase resource usage along with demand (often called auto scaling) then turn it back down as demand wanes.
This, of course, is much harder than it sounds. But it’s actually what I specialize in, so don’t be afraid to reach out if you need help reining in your AWS spend.
I’ve gotten some feedback that there should be a separate line item here for “Security,” but let’s face it: Security is going to need to be addressed throughout the entire process. This is why having security-focused design reviews is so important. It’s not worth calling out explicitly, because I (perhaps naively) presume that security discussions will be baked into everything.
Lastly, you may notice that there’s no snark whatsoever in this post!
That’s because helping people find jobs is something I’m deadly serious about. If you think I may be able to help, my DMs are always open.